Career 2025 2024 2023 2022 2021 2020 2019 2018 2017 2016 2015 2014 2013 2012 2011 2010 2009 2008 2007 2005
All Rounds Final 1/2 1/4 First Second Third Fourth Pre-q Rubber 1 Rubber 2 Rubber 3 Rubber 4 Rubber 5 Robin Bronze Q3 N/A Q2 Q1 ER Q4 CR QF Q5 N/A
All Courts Acrylic N/A Clay Grass Carpet Hard I.hard
All Tour Biella Challenger Mexico F6 Canada F3 Mexico F7 Canada F4 Canada F5 Canada F2 USA F9 Korea F2 Czech Republic F7 Czech Republic F3 Czech Republic F4 Germany F2 Canada F4 Croatia F3 Croatia F4 Croatia F5 Croatia F6 Czech Republic F1 Czech Republic F3 Czech Republic F4 Czech Republic F5 Czech Republic F6 Slovakia F2 Slovakia F4 Poland F1 Poland F2 Poland F3 Croatia F15 Croatia F16 Croatia F17 Croatia F18 Germany F17 Germany F18 Czech Republic F7 Czech Republic F8 Germany F2 Croatia F1 Croatia F2 Croatia F3 Croatia F4 Hungary F3 Czech Republic F1 Czech Republic F2 Czech Republic F4 Korea F1 Italy F24 Hungary F7 Hungary F8 Czech Republic F7 Czech Republic F8 Czech Republic F11 Czech Republic F12 Egypt F4 (Sharm El Sheikh) Egypt F5 (Sharm El Sheikh) Croatia F1 (Rovinj) Croatia F2 (Porec) Croatia F3 (Umag) Croatia F4 (Opatija) Kazakhstan F3 (Shymkent) Kazakhstan F4 (Shymkent) Kazakhstan F5 (Shymkent) Italy F15 (Reggio Emilia) Canada F1 Canada F2 Canada F3 Poland F1 (Sopot) Poland F5 (Mragowo) Canada F1 Canada F2 Czech Republic F1 Germany F6 Poland F10 (Poznan) Hungary F8 (Szekesfehervar) Estonia F2 (Tartu) Serbia F6 Italy F29 Germany F21 Germany F22 Nicaragua F1 El Salvador F2 Mexico F2 USA F4 USA F5 Canada F2 Canada F3 Mexico F3 Mexico F4 Mexico F5 Mexico F6 Usa F16 Usa F17 Great Britain F1 (Glasgow) Croatia F1 (Rovinj) Romania F14 Romania F15 Croatia F2 (Porec) Italy F28 Italy F29 Italy F30 Croatia F20 Mexico F12 Germany F4 Mexico F14 Mexico F15 Usa F5 Canada F2 Canada F3 Usa F8 Italy F18 Mexico F2 Czech Republic F2 Croatia F7 Czech Republic F5 Usa F16 USA F17 USA F18 USA F8 M15 Grodzisk Mazowiecki M15 Grodzisk Mazowiecki M25 Antalya M25 Antalya M15 Opatija M15 Grodzisk Mazowiecki M15 Nova Gorica M25 Trnava M15 Szabolcsveresmart M15 Szabolcsveresmart M25 Antalya M15 Antalya M25 Antalya M25 Satu Mare M25 Belgrade Rimouski Challenger Cremona Challenger Lexington Challenger Tashkent Challenger Seoul Challenger Aachen Challenger Honolulu Challenger Caloundra Challenger Rimouski Challenger Tallahassee Challenger Leon Challenger Busan Challenger Guadalajara Challenger Sacramento Challenger Knoxville Challenger Guadalajara Challenger Rimouski Challenger Tallahassee Challenger Sarasota Challenger Guadalajara Challenger Mexico City Challenger Johannesburg Challenger Nottingham-2 Challenger Vancouver Challenger Granby Challenger Tashkent Challenger Ortisei Challenger Prague Challenger Wroclaw Challenger Ostrava Challenger Prostejov Challenger Prague Challenger Prague Challenger Liberec Challenger Cordenons Challenger Szczecin Challenger Bratislava Challenger Ortisei Challenger Brescia Challenger Andria Challenger Bangkok Challenger Bangkok Challenger Wroclaw Challenger Guadalajara Challenger Leon Challenger San Francisco Challenger Taipei City Challenger Ostrava Challenger Gimcheon Challenger Seoul Challenger Busan Challenger Samarkand Challenger Mestre Challenger Poprad Tatry Challenger Milan Challenger Liberec Challenger Busan Challenger Caltanissetta Challenger Poprad Tatry Challenger Prague Challenger Vancouver Challenger Playford Challenger Bratislava Challenger Bangkok Challenger Ismaning Challenger Nonthaburi 1 Challenger Prague Challenger Cordenons Challenger Banja Luka Challenger Rome Challenger Almaty Challenger Mouilleron-Le-Captif Challenger Andria Challenger Koblenz Challenger Budapest Challenger Indian Wells Challenger Alicante Challenger Anning Challenger Francavilla Challenger Seoul Challenger Ostrava Challenger Rome Challenger Gimcheon Challenger Bordeaux Challenger Sopot Challenger Prostejov Challenger Szczecin Challenger Bastad Challenger Como Challenger Chicago Challenger Orleans Challenger Tashkent Challenger Koblenz Challenger Quimper Challenger Budapest Challenger Cherbourg Challenger Barletta Challenger Tunis Challenger Bordeaux Challenger Lisbon Challenger Knoxville Challenger Amersfoort Challenger Granby Challenger Tampere Challenger Vancouver Challenger Portoroz Challenger Sibiu Challenger Orleans Challenger Las Vegas Challenger Eckental Challenger Bratislava Challenger Maia Challenger Noumea Challenger Quimper Challenger Prostejov Challenger Braunschweig Challenger Banja Luka Challenger Szczecin Challenger Sibiu Challenger Knoxville Challenger Pau Challenger Turin Challenger Barletta Challenger Mauthausen Challenger Vancouver Challenger Prague II Challenger Mouilleron-Le-Captif Challenger Vilnus Challenger Ostrava Challenger Drummondville Challenger Kobe Challenger Nonthaburi 3 Challenger Koblenz Challenger Vilnius Challenger Pau Challenger Antalya Challenger Ismaning Challenger Ortisei Challenger Ostrava Challenger Poznan Challenger Iasi Challenger Antalya Challenger Antalya 2 Challenger Lisbon Challenger Fairfield Challenger Potchefstroom 2 Challenger Matsuyama Challenger Kobe Challenger Nonthaburi 1 Challenger Indian Wells 1 Challenger Biella 3 Challenger Koblenz Challenger Oeiras 1 Challenger Nottingham Challenger Pune Challenger Lille Challenger Prague Challenger Szekesfehervar Challenger Zadar Challenger San Luis Potosi Challenger Mexico City Challenger Barletta Challenger Cuernavaca Challenger Ostrava Challenger Biella 7 Challenger Iasi Challenger Poznan Challenger Cordenons Challenger Brest Challenger Bergamo Challenger Winnipeg Challenger Pau Challenger Quimper Challenger Santa Cruz de la Sierra Challenger Oeiras 2 Challenger Nonthaburi 2 Challenger Kigali 1 Challenger Bratislava Challenger Porto Alegre Challenger Poznan Challenger Sofia 1 Challenger Augsburg Challenger Pozoblanco Challenger Zug Challenger Bad Waltersdorf Challenger Calgary Challenger Quimper Challenger Biel Challenger Lille Challenger Kigali 2 Challenger Prague 1 Challenger Zadar Challenger M25 Antalya Santos Challenger Bogota Challenger Lyon Challenger Prostejov Challenger Bratislava 1 Challenger Trieste Challenger Winnipeg Challenger M25 Antalya Banja Luka Challenger Claro Open Colombia - Bogota Tulln Challenger Szczecin Challenger Bad Waltersdorf Challenger Columbus Challenger Cordenons Challenger Tiburon Challenger M25 Koszalin Olbia Challenger Tulln Challenger Bengaluru Challenger Pau Challenger Split Challenger Braga Challenger Salzburg Challenger Unicredit Czech Open 2007 - Prostejov Challenger Natrel Presented by National Bank - Granby Odlum Brown Vancouver Open - Vancouver Polska Energia Open - Bytom Challenger Banque Nationale - Granby Moncton Men's Challenger - Moncton Oldum Brown Vancouver Open - Vancouver National Bank Men's Rimouski Challenger - Rimouski Kosice Challenger Bytom Challenger Constanta Challenger Granby Challenger Vancouver Challenger Brasov Challenger Puebla Challenger Salinas Challenger Honolulu Challenger Dallas Challenger Leon Challenger Savannah Challenger Sarasota Challenger Nottingham Challenger Bytom Challenger Granby Challenger Vancouver Challenger Tulsa Challenger Eckental Challenger Winnetka Challenger Granby Challenger Vancouver Challenger Tiburon Challenger Champaign Challenger Iasi Challenger Heilbronn Challenger Granby Challenger Le Gosier Challenger Savannah Challenger Nottingham Challenger Geneva Challenger Dallas Challenger Rimouski Challenger Open Sud de France - Montpellier Rome Challenger Nottingham Challenger Open de Nice Cote d'Azur - Nice AEGON International - Eastbourne Campbell's Hall of Fame Tennis Championships - Newport St. Petersburg Open - St. Petersburg Malaysian Open - Kuala Lumpur Rakuten Japan Open - Tokyo Erste Bank Open - Vienna Valencia Open - Valencia SAP Open - San Jose Delray Beach International Tennis Championships - Delray Beach Irving Challenger China Open - Beijing Swiss Indoors Basel - Basel Aircel Chennai Open - Chennai Prostejov Challenger BRD Nastase Tiriac Trophy - Bucharest AEGON Championships - London Topshelf Open - 's-Hertogenbosch Erste Bank Open - Vienna Apia International - Sydney ABN AMRO World Tennis Tournament - Rotterdam Open 13 - Marseille Topshelf Open - 's-Hertogenbosch BB&T Atlanta Open - Atlanta Citi Open - Washington Moselle Open - Metz Malaysian Open - Kuala Lumpur Open 13 - Marseille AEGON Championships - London Aegon Nottingham Open - Nottingham Swiss Indoors Basel - Basel Delray Beach Open - Delray Beach Ricoh Open - 's-Hertogenbosch Ostrava Challenger Gerry Weber Open - Halle AEGON International - Eastbourne BB&T Atlanta Open - Atlanta European Open - Antwerp Ricoh Open - 's-Hertogenbosch Gerry Weber Open - Halle SkiStar Swedish Open - Bastad Hall of Fame Open - Newport Chengdu Open - Chengdu China Open - Beijing European Open - Antwerp Swiss Indoors Basel - Basel U.S. National Indoor Tennis Championships - Memphis ASB Classic - Auckland Open Sud de France - Montpellier ABN AMRO World Tennis Tournament - Rotterdam Open 13 Provence - Marseille Sofia Open - Sofia Qatar ExxonMobil Open - Doha Nature Valley International - Eastbourne Hall of Fame Open - Newport Moselle Open - Metz Sofia Open - Sofia Delray Beach International Tennis Championships - Delray Beach Dallas Open - Dallas Tel Aviv Watergen Open - Tel Aviv Adelaide International 2 - Adelaide Sibiu Challenger Adelaide International 1 - Adelaide Odlum Brown Vancouver Open - Vancouver Qatar ExxonMobil Open - Doha Maui Challenger Bergamo Challenger Poznan Challenger Bangkok Challenger Rennes Challenger Drummondville Challenger St. Brieuc Challenger Barletta Challenger Tata Open Maharashtra - Pune Vicenza Challenger Bucharest Open - Bucharest Cordenons Challenger Dubai Duty Free Tennis Championships - Dubai Pullach Challenger Sibiu Challenger Almaty Challenger Rennes Challenger Sophia Antipolis Challenger Braga Challenger Bergamo Challenger Pau Challenger Poznan Challenger Marbella Challenger Ludwigshafen Challenger Sopot Challenger Banja Luka Challenger Nur-Sultan Challenger Ismaning Challenger Brest Challenger Charlottesville Challenger Cherbourg Challenger Bergamo Challenger Calgary Challenger Pau Challenger Prague Challenger Prostejov Challenger Split Challenger Lisbon Challenger Eckental Challenger Maia Challenger Potchefstroom 1 Challenger Istanbul Challenger Split 1 Challenger Ostrava Challenger Biella 4 Challenger Zadar Challenger Split 2 Challenger San Marino Challenger Bratislava Challenger Napoli Challenger Charlottesville Challenger Bucharest Challenger Traralgon Challenger Forli 2 Challenger Forli 3 Challenger Bratislava Challenger Split Challenger Ostrava Challenger Prostejov Challenger Ilkley Challenger Blois Challenger Zadar Challenger Oeiras 1 Challenger Salzburg Challenger Iasi Challenger Tulln Challenger Malaga Challenger Sibiu Challenger Winnipeg Challenger Cordenons Challenger Lisbon Challenger Parma Challenger Brest Challenger Yokohama Challenger Calgary Challenger Matsuyama Challenger Las Vegas Challenger Yokkaichi Challenger Maia Challenger Nonthaburi 2 Challenger Rovereto Challenger Cherbourg Challenger Barletta Challenger Granby Challenger San Marino Challenger Topshelf Open - 's-Hertogenbosch Braga Challenger Charleston Challenger Yokohama Challenger Citi Open - Washington Indian Wells 2 Challenger Cherbourg Challenger Chengdu Open - Chengdu Rakuten Japan Open - Tokyo Karlsruhe Challenger Granby Challenger Citi Open - Washington Drummondville Challenger Rakuten Japan Open - Tokyo If Stockholm Open - Stockholm Swiss Indoors Basel - Basel Chengdu Open - Chengdu Plava Laguna Croatia Open - Umag Dubai Duty Free Tennis Championships - Dubai Citi Open - Washington Perugia Challenger Rogers Masters - Toronto Rogers Cup - Toronto Rogers Cup - Montreal BNP Paribas Open - Indian Wells Rogers Cup - Toronto Western & Southern Open - Cincinnati BNP Paribas Masters - Paris Monte-Carlo Rolex Masters - Monte-Carlo Internazionali BNL d'Italia - Rome Rogers Cup - Toronto Western & Southern Open - Cincinnati BNP Paribas Open - Indian Wells Mutua Madrid Open - Madrid Western & Southern Open - Cincinnati Shanghai Rolex Masters - Shanghai BNP Paribas Open - Indian Wells Miami Open - Miami Mutua Madrid Open - Madrid Internazionali BNL d'Italia - Rome Rogers Cup - Toronto Western & Southern Open - Cincinnati Shanghai Rolex Masters - Shanghai BNP Paribas Masters - Paris BNP Paribas Open - Indian Wells Rogers Cup - Montreal Western & Southern Open - Cincinnati Shanghai Rolex Masters - Shanghai BNP Paribas Masters - Paris BNP Paribas Open - Indian Wells Miami Open - Miami Shanghai Rolex Masters - Shanghai BNP Paribas Masters - Paris Coupe Rogers - Montreal Shanghai Rolex Masters - Shanghai Andria Challenger Rolex Paris Masters - Paris BNP Paribas Open - Indian Wells Miami Open - Miami Western & Southern Open - Cincinnati BNP Paribas Open - Indian Wells Miami Open - Miami National Bank Open - Montreal Lyon Challenger China Open - Beijing Yokkaichi Challenger Citi Open - Washington Gerry Weber Open - Halle China Open - Beijing Wimbledon - London U.S. Open - New York Wimbledon - London St. Petersburg Open - St. Petersburg Erste Bank Open - Vienna French Open - Paris Wimbledon - London St. Petersburg Open - St. Petersburg Open de Tenis Comunidad Valenciana - Valencia Aircel Chennai Open - Chennai Regions Morgan Keegan Championships - Memphis Australian Open - Melbourne AEGON Championships - London U.S. Open - New York Kremlin Cup - Moscow Wimbledon - London U.S. Open - New York Australian Open - Melbourne U.S. Open - New York U.S. Open - New York Wimbledon - London Australian Open - Melbourne French Open - Paris Hall of Fame Tennis Championships - Newport Wimbledon - London Claro Open Colombia - Bogota U.S. Open - New York Australian Open - Melbourne Malaysian Open - Kuala Lumpur U.S. Open - New York Erste Bank Open - Vienna Australian Open Qualifying - Doha Australian Open - Melbourne Abierto Mexicano Telcel - Acapulco French Open - Paris BMW Open - Munich BB&T Atlanta Open - Atlanta U.S. Open - New York Citi Open - Washington Shenzhen Open - Shenzhen Swiss Indoors Basel - Basel Dubai Duty Free Tennis Championships - Dubai BMW Open - Munich Gerry Weber Open - Halle Aegon Nottingham Open - Nottingham China Open - Beijing Australian Open - Melbourne Valencia Open - Valencia Aircel Chennai Open - Chennai ASB Classic - Auckland ABN AMRO World Tennis Tournament - Rotterdam Wimbledon - London Dubai Duty Free Tennis Championships - Dubai U.S. Open - New York Australian Open - Melbourne BMW Open - Munich U.S. Open - New York Prague 2 Challenger Chengdu Open - Chengdu Noventi Open - Halle Cordoba Open - Cordoba Argentina Open - Buenos Aires Davis Cup, Group 1, 1R, CAN-MEX 4-1 Davis Cup, Group I, 2R, ECU-CAN 2-3 Davis Cup, World Group, PO, ISR-CAN 2-3 Davis Cup, World Group, 1R, CAN-FRA 1-4 Davis Cup, World Group, PO, CAN-RSA 4-1 Davis Cup, World Group, QF, CAN-ITA 3-1 Davis Cup, World Group, PO, CAN-COL 3-2 Hopman Cup - Perth Davis Cup, World Group, PO, CAN-CHI 5-0 Davis Cup, World Group, 1R, CAN-GBR 2-3 Hopman Cup - Perth Davis Cup, Finals, QF, AUS-CAN 1-2 Davis Cup, Finals, SF, RUS-CAN 1-2 Davis Cup, Finals, Group B Davis Cup, Group B, Valencia Davis Cup, Group A, Bologna BNP Paribas Open - Indian Wells Rogers Cup - Montreal Mutua Madrilena Madrid Open - Madrid Internazionali BNL d'Italia - Rome U.S. Open (juniors) Australian Open (juniors) French Open (juniors) Wimbledon (juniors) Miami Open - Miami All Lower level tournaments Rogers Cup - Toronto Rogers Cup - Montreal Chile Dove Men+Care Open - Santiago Sony Open Tennis - Miami Shanghai Rolex Masters - Shanghai BNP Paribas Open - Indian Wells BNP Paribas Masters - Paris National Bank Open - Montreal National Bank Open - Toronto Internazionali BNL d'Italia - Rome Rogers Cup - Montreal Western & Southern Open - Cincinnati Rogers Cup - Toronto Shanghai Rolex Masters - Shanghai M15 Antalya Wimbledon - London French Open - Paris Wimbledon - London French Open - Paris Olympics - London Olympics - Rio de Janeiro French Open - Paris French Open - Paris French Open - Paris U.S. Open - New York French Open - Paris U.S. Open - New York Wimbledon - London Australian Open - Melbourne French Open - Paris French Open - Paris Australian Open - Melbourne Wimbledon - London Australian Open - Melbourne French Open - Paris U.S. Open - New York Davis Cup, World Group, 1R, CAN-JPN 3-2 Wimbledon - London Davis Cup, Finals, Group F Australian Open - Melbourne Davis Cup, World Group, 1R, FRA-CAN 5-0 Davis Cup, World Group, Q, CAN-KOR 3-1 Australian Open - Melbourne Davis Cup, World Group, SF, SRB-CAN 3-2 Davis Cup, World Group, 1R, CRO-CAN 3-1 National Bank Open - Toronto